#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h> 
#include <unistd.h>

int main()
{
    umask(0000);
//    int fd = open("log.txt",O_WRONLY | O_CREAT | O_TRUNC,0666);//输出重定向
//    int fd = open("log.txt",O_WRONLY | O_CREAT | O_APPEND,0666);//追加重定向
    int fd = open("log.txt",O_RDONLY);//输入重定向
    if(fd<0)
    {
        perror("open");
        return 1;
    }

    dup2(fd,0);//由键盘读取改为从fd文件中读取
    char line[64];
    while(1)
    {
        printf("<");
        if(fgets(line,sizeof(line),stdin)==NULL) break;
        printf("%s",line);
    }

//    dup2(fd,1);
//    
//    printf("open fd:%d\n",fd);// printf --> stdout
//    fprintf(stdout,"open fd:%d\n",fd);// fprintf --> stdout 
//    
//    const char* msg = "hello linux";
//    write(1,msg,strlen(msg));//向显示器上write

    close(fd);
    return 0;
}
